<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>5.只有watch才能实现的功能</title>
		<!-- 引入Vue -->
		<script type="text/javascript" src="../js/vue.js"></script>
	</head>
	<body>
		<!-- 
			重要的2个规则：
				1.所有由Vue所管理的函数（data函数、methods中的函数、计算属性的get、set、监视属性的handler等等），一定要写成普通函数。
				2.所有不由Vue所管理的函数（ajax的回调、定时器的回调、Promsie的回调等等），尽可能要写成箭头函数。
		 -->
		<!-- 准备好一个容器-->
		<div id="demo">
			姓：<input type="text" v-model="name.firstName"> <br>
			名：<input type="text" v-model="name.lastName"> <br>
			全名：<span>{{fullName}}</span>
		</div>

		<script type="text/javascript">
			//阻止 vue 在启动时生成生产提示。
			Vue.config.productionTip = false
			
			new Vue({
				el:'#demo',
				data:{
					name:{
						firstName:'尼古拉斯',
						lastName:'小猪佩奇',
					},
					fullName:''
				},
				watch:{
					name:{
						immediate:true,
						deep:true,
						handler(value){
							setTimeout(()=>{
								this.fullName = value.firstName + '-' + value.lastName
							},1000)
						}
					}
				}
			})
		</script>
	</body>
</html>